package com.keeson.android_cli.util;


import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonParseException;
import com.google.gson.JsonParser;

import java.lang.reflect.Type;

/**
 * json字符串与对象相互转换
 */
public class JsonHelp {
    private static Gson gson = new GsonBuilder().create();

    public static <T> T json2Bean(String jsonStr, Class<T> objClass){
        return gson.fromJson(jsonStr, objClass);
    }

    public static <T> T json2Bean(String jsonStr, Type objClass){
        return gson.fromJson(jsonStr, objClass);
    }

    public static String toJson(Object obj) {
        String reString=gson.toJson(obj);
        return reString;
    }


    /**
     * 验证是否是 Json数据
     * @param json
     * @return
     */
    public static boolean isBadJson(String json) {
        return !isGoodJson(json);
    }

    public static boolean isGoodJson(String json) {
        if (StringUtils.isEmpty(json)) {
            return false;
        }
        try {
            new JsonParser().parse(json);
            return true;
        } catch (JsonParseException e) {
            LogUtils.e("bad json: " + json);
            return false;
        }
    }

}
